```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>加密算法全解析 | 技术小馆</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            color: #333;
            line-height: 1.8;
        }
        .hero-bg {
            background: linear-gradient(135deg, #6B73FF 0%, #000DFF 100%);
        }
        .card-hover {
            transition: all 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        }
        .drop-cap::first-letter {
            float: left;
            font-size: 4rem;
            line-height: 0.8;
            margin: 0.15em 0.1em 0 0;
            font-weight: 700;
            color: #4F46E5;
        }
        .mermaid {
            background: white;
            padding: 1.5rem;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Hero Section -->
    <section class="hero-bg text-white py-20">
        <div class="container mx-auto px-6 max-w-5xl">
            <div class="flex flex-col items-center text-center">
                <h1 class="text-4xl md:text-5xl font-bold mb-6 font-serif">加密算法全解析</h1>
                <p class="text-xl md:text-2xl max-w-2xl leading-relaxed opacity-90">探索对称与非对称加密的奥秘，构建数字安全基石</p>
                <div class="mt-10">
                    <span class="inline-block w-16 h-1 bg-indigo-200 rounded-full"></span>
                    <span class="inline-block w-8 h-1 bg-indigo-200 rounded-full mx-1"></span>
                    <span class="inline-block w-4 h-1 bg-indigo-200 rounded-full"></span>
                </div>
            </div>
        </div>
    </section>

    <!-- Main Content -->
    <main class="container mx-auto px-6 py-16 max-w-5xl">
        <!-- Introduction -->
        <section class="mb-20">
            <div class="drop-cap text-gray-700 mb-8">
                <p>在加密技术中，加密算法可以分为对称加密算法和非对称加密算法（又称为公钥加密算法）。这两种加密算法在工作原理、应用场景、优缺点等方面都有显著的区别。</p>
            </div>
            
            <!-- Visualization -->
            <div class="mermaid my-12">
                graph LR
                A[加密算法] --> B[对称加密]
                A --> C[非对称加密]
                B --> D[单密钥]
                B --> E[速度快]
                B --> F[密钥分发难]
                C --> G[公钥/私钥]
                C --> H[速度慢]
                C --> I[密钥管理易]
            </div>
        </section>

        <!-- Symmetric Encryption -->
        <section class="mb-20">
            <div class="flex items-center mb-8">
                <div class="w-12 h-12 rounded-full bg-indigo-100 flex items-center justify-center mr-4">
                    <i class="fas fa-lock text-indigo-600 text-xl"></i>
                </div>
                <h2 class="text-3xl font-bold text-gray-800 font-serif">1. 对称加密算法</h2>
            </div>
            
            <p class="text-gray-700 mb-6">对称加密算法是一种使用单一密钥进行加密和解密的算法。也就是说，加密和解密使用的是相同的密钥。对称加密算法主要特点是速度快，适合大数据量的加密。</p>
            
            <div class="bg-white rounded-xl shadow-md p-6 mb-8 card-hover">
                <h3 class="text-2xl font-semibold mb-4 text-gray-800 flex items-center">
                    <i class="fas fa-key mr-2 text-indigo-500"></i>
                    1.1 常见的对称加密算法
                </h3>
                
                <div class="grid md:grid-cols-2 gap-6">
                    <!-- AES -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">AES（高级加密标准）</h4>
                        <p class="text-gray-600">目前最广泛使用的对称加密算法，支持128位、192位和256位密钥长度。具有高效的性能和较高的安全性，广泛用于数据加密标准。</p>
                    </div>
                    
                    <!-- DES -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">DES（数据加密标准）</h4>
                        <p class="text-gray-600">一种较早期的加密算法，使用56位密钥进行加密。由于密钥长度较短，安全性较低，现已被AES取代。</p>
                    </div>
                    
                    <!-- 3DES -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">3DES（三重DES）</h4>
                        <p class="text-gray-600">为了提高DES的安全性，3DES采用了三次加密的方法。虽然增强了安全性，但计算速度较慢。</p>
                    </div>
                    
                    <!-- Blowfish -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">Blowfish</h4>
                        <p class="text-gray-600">一种速度较快、可调节密钥长度（32-448位）的对称加密算法，适用于数据加密和口令存储。</p>
                    </div>
                    
                    <!-- RC4 -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">RC4</h4>
                        <p class="text-gray-600">一种流加密算法，速度较快，主要用于加密网络流量（如SSL/TLS）。但其安全性已不再被推荐使用。</p>
                    </div>
                </div>
            </div>
            
            <div class="bg-white rounded-xl shadow-md p-6 card-hover">
                <h3 class="text-2xl font-semibold mb-4 text-gray-800 flex items-center">
                    <i class="fas fa-balance-scale mr-2 text-indigo-500"></i>
                    1.2 对称加密的优缺点
                </h3>
                
                <div class="grid md:grid-cols-2 gap-6">
                    <!-- Pros -->
                    <div>
                        <div class="flex items-center mb-3">
                            <i class="fas fa-check-circle text-green-500 mr-2"></i>
                            <h4 class="text-lg font-medium text-gray-800">优点</h4>
                        </div>
                        <ul class="space-y-2 text-gray-600">
                            <li class="flex items-start">
                                <span class="text-green-500 mr-2">✓</span>
                                <span>加密和解密速度快，适合大数据量的加密</span>
                            </li>
                            <li class="flex items-start">
                                <span class="text-green-500 mr-2">✓</span>
                                <span>算法简单，易于实现和部署</span>
                            </li>
                        </ul>
                    </div>
                    
                    <!-- Cons -->
                    <div>
                        <div class="flex items-center mb-3">
                            <i class="fas fa-times-circle text-red-500 mr-2"></i>
                            <h4 class="text-lg font-medium text-gray-800">缺点</h4>
                        </div>
                        <ul class="space-y-2 text-gray-600">
                            <li class="flex items-start">
                                <span class="text-red-500 mr-2">✗</span>
                                <span>由于加密和解密使用相同的密钥，密钥的分发和管理成为一大难题</span>
                            </li>
                            <li class="flex items-start">
                                <span class="text-red-500 mr-2">✗</span>
                                <span>如果密钥泄露，数据的安全性将受到严重威胁</span>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </section>

        <!-- Asymmetric Encryption -->
        <section class="mb-20">
            <div class="flex items-center mb-8">
                <div class="w-12 h-12 rounded-full bg-indigo-100 flex items-center justify-center mr-4">
                    <i class="fas fa-key text-indigo-600 text-xl"></i>
                </div>
                <h2 class="text-3xl font-bold text-gray-800 font-serif">2. 非对称加密算法</h2>
            </div>
            
            <p class="text-gray-700 mb-6">非对称加密算法使用一对密钥：公钥和私钥。公钥用于加密，私钥用于解密。公钥可以公开发布，而私钥则必须保密。非对称加密算法主要特点是密钥管理更方便，但加密和解密速度较慢。</p>
            
            <div class="bg-white rounded-xl shadow-md p-6 mb-8 card-hover">
                <h3 class="text-2xl font-semibold mb-4 text-gray-800 flex items-center">
                    <i class="fas fa-key mr-2 text-indigo-500"></i>
                    2.1 常见的非对称加密算法
                </h3>
                
                <div class="grid md:grid-cols-2 gap-6">
                    <!-- RSA -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">RSA</h4>
                        <p class="text-gray-600">最常用的非对称加密算法，广泛应用于数字签名、密钥交换等场景。它基于大素数分解的数学难题，支持多种密钥长度。</p>
                    </div>
                    
                    <!-- DSA -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">DSA（数字签名算法）</h4>
                        <p class="text-gray-600">一种用于数字签名的非对称算法，通常与Diffie-Hellman密钥交换协议结合使用。设计目的是为了数字签名的安全性和效率。</p>
                    </div>
                    
                    <!-- ECC -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">ECC（椭圆曲线密码学）</h4>
                        <p class="text-gray-600">基于椭圆曲线数学的非对称加密算法，在提供相同安全强度的情况下，密钥长度更短，计算更高效。适用于移动设备等资源受限的环境。</p>
                    </div>
                    
                    <!-- ElGamal -->
                    <div class="border-l-4 border-indigo-500 pl-4">
                        <h4 class="text-xl font-medium mb-2 text-gray-800">ElGamal</h4>
                        <p class="text-gray-600">基于离散对数问题的非对称加密算法，广泛用于加密和数字签名，但加密效率较低，通常应用在对安全性要求较高的场景。</p>
                    </div>
                </div>
            </div>
            
            <div class="bg-white rounded-xl shadow-md p-6 card-hover">
                <h3 class="text-2xl font-semibold mb-4 text-gray-800 flex items-center">
                    <i class="fas fa-balance-scale mr-2 text-indigo-500"></i>
                    2.2 非对称加密的优缺点
                </h3>
                
                <div class="grid md:grid-cols-2 gap-6">
                    <!-- Pros -->
                    <div>
                        <div class="flex items-center mb-3">
                            <i class="fas fa-check-circle text-green-500 mr-2"></i>
                            <h4 class="text-lg font-medium text-gray-800">优点</h4>
                        </div>
                        <ul class="space-y-2 text-gray-600">
                            <li class="flex items-start">
                                <span class="text-green-500 mr-2">✓</span>
                                <span>公钥可以公开发布，私钥可以安全保密，密钥管理更为方便</span>
                            </li>
                            <li class="flex items-start">
                                <span class="text-green-500 mr-2">✓</span>
                                <span>提供数字签名功能，确保数据的完整性和不可否认性</span>
                            </li>
                        </ul>
                    </div>
                    
                    <!-- Cons -->
                    <div>
                        <div class="flex items-center mb-3">
                            <i class="fas fa-times-circle text-red-500 mr-2"></i>
                            <h4 class="text-lg font-medium text-gray-800">缺点</h4>
                        </div>
                        <ul class="space-y-2 text-gray-600">
                            <li class="flex items-start">
                                <span class="text-red-500 mr-2">✗</span>
                                <span>加密和解密速度较慢，不适合大数据量的直接加密</span>
                            </li>
                            <li class="flex items-start">
                                <span class="text-red-500 mr-2">✗</span>
                                <span>算法复杂，计算开销大</span>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </section>

        <!-- Combined Use -->
        <section class="bg-white rounded-xl shadow-md p-8 card-hover">
            <div class="flex items-center mb-6">
                <div class="w-12 h-12 rounded-full bg-indigo-100 flex items-center justify-center mr-4">
                    <i class="fas fa-puzzle-piece text-indigo-600 text-xl"></i>
                </div>
                <h2 class="text-3xl font-bold text-gray-800 font-serif">3. 对称加密与非对称加密的结合</h2>
            </div>
            
            <p class="text-gray-700 mb-6">在实际应用中，对称加密和非对称加密常常结合使用。典型的场景是使用非对称加密来加密对称加密的密钥，再使用对称加密算法对大量数据进行加密。这种方式兼顾了安全性和效率，广泛应用于SSL/TLS协议中。</p>
            
            <div class="mermaid my-6">
                sequenceDiagram
                participant Client
                participant Server
                Client->>Server: 发送连接请求
                Server->>Client: 返回公钥
                Client->>Client: 生成对称密钥
                Client->>Server: 使用公钥加密对称密钥并发送
                Server->>Server: 使用私钥解密获取对称密钥
                Client->>Server: 使用对称密钥加密通信
                Server->>Client: 使用对称密钥解密并响应
            </div>
            
            <div class="bg-indigo-50 border-l-4 border-indigo-500 p-4 rounded-r">
                <div class="flex">
                    <div class="flex-shrink-0">
                        <i class="fas fa-info-circle text-indigo-500 mt-1"></i>
                    </div>
                    <div class="ml-3">
                        <p class="text-sm text-indigo-700">
                            <span class="font-semibold">混合加密系统</span> 结合了两种加密方式的优势：非对称加密用于安全交换对称密钥，对称加密用于高效加密通信内容。这是现代网络安全通信的基础。
                        </p>
                    </div>
                </div>
            </div>
        </section>
    </main>

    <!-- Footer -->
    <footer class="bg-gray-900 text-gray-300 py-12">
        <div class="container mx-auto px-6 max-w-5xl">
            <div class="flex flex-col items-center">
                <h3 class="text-xl font-bold text-white mb-2">技术小馆</h3>
                <a href="http://www.yuque.com/jtostring" class="text-indigo-300 hover:text-white transition-colors duration-200">
                    <i class="fas fa-external-link-alt mr-1"></i>
                    www.yuque.com/jtostring
                </a>
                <div class="mt-6 pt-6 border-t border-gray-800 w-full text-center text-sm">
                    <p>© 2023 技术小馆 · 探索数字世界的奥秘</p>
                </div>
            </div>
        </div>
    </footer>

    <script>
        mermaid.initialize({
            startOnLoad: true,
            theme: 'default',
            flowchart: {
                useMaxWidth: true,
                htmlLabels: true,
                curve: 'basis'
            }
        });
        
        // Add smooth scrolling
        document.querySelectorAll('a[href^="#"]').forEach(anchor => {
            anchor.addEventListener('click', function (e) {
                e.preventDefault();
                document.querySelector(this.getAttribute('href')).scrollIntoView({
                    behavior: 'smooth'
                });
            });
        });
    </script>
</body>
</html>
```